# 三乐购物系统
# • 使用系统需要登录验证，进入系统后，输入购物预算信息
# • 用户可以任意查看商品信息和已购买信息
# • 用户根据商品编号购买商品，购买时，检测余额是否够，够就直接扣款，不够就提醒
# • 可随时退出（输入exit），退出后，打印已购买商品和余额
# • 要求：用尽可能友好的方式输出(作业需要提交代码及执行结果截图)
# 封装函数
# {'F00001': {'name':'苹果' , 'price':1.2},
# 'F00002': {'name':'香蕉' , 'price':5.5}, }

goods_list = {'F00001': {'name': '苹果', 'price': 1.2},
              'F00002': {'name': '香蕉', 'price': 5.5}}

shopped = {}


# 商品展示
def goods_display():
    print("欢迎！商品列表".center(50, "="))
    for good_id, j in goods_list.items():
        print("商品id:" + good_id)
        for name, price in j.items():
            print(name, price)


# 已购买商品
def shopped_display():
    for good_id, j in shopped.items():
        print("您购买的商品id:" + good_id)
        for x, y in j.items():
            print(x, y)


# 用户购买商品
def shopping(user_budget):
    print("欢迎！商品购买界面".center(50, "="))
    goods_id = input("请输入购买商品id：")

    if goods_id in goods_list.keys():
        for good_id, j in goods_list.items():
            if goods_id == good_id:
                print("商品id:" + good_id)
                print(f"商品名称:{j['name']},商品价格:{j['price']}")
                if j['price'] <= user_budget:
                    user_budget = user_budget - j['price']
                    print(f"您的余额为{user_budget}")
                    # 购买成功就加入已购买清单
                    shopped[good_id] = j
                    # break
                    return user_budget
                else:
                    print(f"余额不足，您的余额为：{user_budget}")
                    # break
                    return user_budget
    else:
        print("没有这个商品！")


# 用户登录
def user_login():
    print("欢迎！用户登录界面".center(50, "="))
    while 1:
        username = input("请输入您的用户名：")
        password = input("请输入您的密码：")
        if username == "root" and password == "123456":
            print("登录成功！")
            break
        else:
            print("请重新登录！")


# 退出
def system_exit():
    print(f"您的余额为：{user_budget}")
    shopped_display()
    exit()


print("三乐购物系统".center(50, "*"))
# user_login()
user_budget = float(input("请输入您的预算："))
while 1:
    print("请选择需要的编号：".center(50, "="))
    print("1.商品列表")
    print("2.商品购买")
    print("3.退出系统")
    num = int(input("请选择需要的编号："))
    if num == 1:
        goods_display()
    elif num == 2:
        user_budget = shopping(user_budget)
    elif num == 3:
        print("系统退出了")
        system_exit()
    else:
        print("请重新输入！")
